/*
 * Copyright (c) 2006, 2021, webrx.cn All rights reserved.
 *
 */
package cn.webrx;

/**
 * <p>Project: javaseapp - Book
 * <p>Powered by webrx On 2021-08-04 14:41:09
 * <p>Created by IntelliJ IDEA
 *
 * @author webrx [webrx@126.com]
 * @version 1.0
 * @since 16
 */
public class Book {
    protected String name;

    static {
        System.out.println("static - 1");
    }

    public void show() {
        if (this.name == null) {
            System.out.println("hello world");
        } else {
            System.out.printf("hello %s%n", this.name);
        }
    }

    /**
     * 空构造方法，java中任何一个类，如果没有构造方法，java系统在编译时会自动添加一个无参的空构造方法
     * Book book = new Book();
     * 如果有构造方法，java系统在编译时不在添加无参构造方法
     * Book book = new Book(); 此行代码就是错误的
     * 建议如果声明类时，声明了构造方法，建议一定要添加一个无参构造方法
     * 如果构造方法有多个，肯定名称是一样的，这样叫构造方法重载。
     */
    public Book(String name) {
        this.name = name;
        System.out.println("Book(String name) 有参构造方法");
    }

    /**
     * 无参构造方法
     */
    public Book() {
        System.out.println("Book() 无参构造方法");
    }

    static {
        System.out.println("static - 2");
    }
}

